listview: Add GtkListItemManager
authorBenjamin Otte <otte@redhat.com>
Thu, 20 Sep 2018 03:18:34 +0000 (05:18 +0200)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 30 May 2020 23:26:44 +0000 (19:26 -0400)
commit9d5bb875b124636d94d5fdd09cc4e665e1702528
treea6bf8fe605f94050de4643aa31b76afeffcb7fd1
parentb3c150e929f863c6838882c7a5686ecfdc98cb9d
listview: Add GtkListItemManager

It's all stubs for now, but here's the basic ideas about what
this object is supposed to do:

(1) It's supposed to be handling all the child GtkWidgets that are
    used by the listview, so that the listview can concern
    itself with how many items it needs and where to put them.
(2) It's meant to do the caching of widgets that are not (currently)
    used.
(3) It's meant to track items that remain in the model across
    items-changed emissions and just change position.
(2) It's code that can be shared between listview and potential
    other widgets like a GridView.

It's also free to assume that the number of items it's supposed to
manage doesn't grow too much, so it's free to use O(N) algorithms.
docs/reference/gtk/meson.build
gtk/gtklistitemmanager.c [new file with mode: 0644]
gtk/gtklistitemmanagerprivate.h [new file with mode: 0644]
gtk/gtklistview.c
gtk/meson.build